package com.industrial.premu.service;


import com.industrial.common.core.web.domain.AjaxResult;
import com.industrial.premu.domain.PreMuCompanyInfo;
import com.industrial.premu.domain.sqsj.PreMuImportLog;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
 * 涉企数据导入记录Service接口
 *
 * @author SangGuangCan
 * @date 2024-01-24
 */
public interface IPreMuImportLogService
{
    /**
     * 查询涉企数据导入记录
     *
     * @param id 涉企数据导入记录主键
     * @return 涉企数据导入记录
     */
    public PreMuImportLog selectPreMuImportLogById(String id);

    /**
     * 查询涉企数据导入记录列表
     *
     * @param preMuImportLog 涉企数据导入记录
     * @return 涉企数据导入记录集合
     */
    public List<PreMuImportLog> selectPreMuImportLogList(PreMuImportLog preMuImportLog);

    /**
     * 新增涉企数据导入记录
     *
     * @param preMuImportLog 涉企数据导入记录
     * @return 结果
     */
    public int insertPreMuImportLog(PreMuImportLog preMuImportLog);

    /**
     * 修改涉企数据导入记录
     *
     * @param preMuImportLog 涉企数据导入记录
     * @return 结果
     */
    public int updatePreMuImportLog(PreMuImportLog preMuImportLog);

    /**
     * 批量删除涉企数据导入记录
     *
     * @param ids 需要删除的涉企数据导入记录主键集合
     * @return 结果
     */
    public int deletePreMuImportLogByIds(String[] ids);

    /**
     * 删除涉企数据导入记录信息
     *
     * @param id 涉企数据导入记录主键
     * @return 结果
     */
    public int deletePreMuImportLogById(String id);

    void removeData(PreMuImportLog removeParams);

    /**
     * <p>
     *     一键汇总
     * </p>
     * @param params
     * @return
     */
    AjaxResult collectData(Map<String, String> params);

    Workbook writeCompanyInfo(PreMuCompanyInfo queryParams, InputStream is);

    void removeCollectData(PreMuImportLog preMuImportLog);

    PreMuImportLog getLogByDeptCodeAndYearAndCounty(String deptCode, String year, String county);

    void insertOrUpdateLog(PreMuImportLog log);
}
